Jeg vil gerne vise varer, der tilhører forskellige kunder. Med henblik herpå henter jeg data gennem et ajax-opkald og grupperer derefter dataene baseret på hver unik kunde. Jeg tilføjer derefter de grupperede data til min html. Strukturen af mine grupperede data ser ud: "John Doe": [ { "Item_id": 1 "Item_name": "abc" }, { "Item_id": 2 "Item_name": "def" }, ], "Jane Doe": { "Item_id": 3 "Item_name": "ghi" }, { "Item_id": 4 "Item_name": "jkl" }, ] Min kode ligner: $ .each (groupedData, funktion (nøgle, værdi) { $ ('. cust_items'). tilføj (``+ nøgle +`
'); $ .each (værdi, funktion (ky, val) { $ ('# dataTable tbody'). tilføj ( ` Varenr. Elementnavn '); }); }); Jeg står over for et indlæg, hvor alle varer vises under den første kunde, mens dataene vises korrekt under den anden kunde. `+ ky +` `+ val.Itemnavn +`
2021-01-31 08:22:12
Du mangler kommaer efter, at egenskaberne og Jane Doe-ejendomens objekter ikke er indeholdt i []. Overvej at ændre dit groupedData-objekt, da syntaksen ikke er korrekt. Rediger: Justerede også skabelonstrengen og adgang til tabellen med dynamisk id også. Prøve: lad groupedData = { "John Doe": [{ "Item_id": 1, "Item_name": "abc" }, { "Item_id": 2, "Item_name": "def" } ], "Jane Doe": [{ "Item_id": 3, "Item_name": "ghi" }, { "Item_id": 4, "Item_name": "jkl" } ] }; $ .each (groupedData, funktion (nøgle, værdi) { $ ('. cust_items'). tilføj (`$ {nøgle}
Varenr. | Varenavn | '); $ .each (værdi, funktion (ky, val) { $ (`#dataTable _ $ {key.split (''). sammenføj ('_')} tbody '). tilføj ( `
---|---|
$ {ky} | $ {val.Item_name} | Varenr. | Elementnavn |